[INFO] cloning repository https://github.com/KauzClay/rust-audio-workbench
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KauzClay/rust-audio-workbench" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b66063761b0aa51a58b113b02ce661628cee22ed
[INFO] checking KauzClay/rust-audio-workbench against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/KauzClay/rust-audio-workbench on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/KauzClay/rust-audio-workbench
[INFO] finished tweaking git repo https://github.com/KauzClay/rust-audio-workbench
[INFO] tweaked toml for git repo https://github.com/KauzClay/rust-audio-workbench written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/KauzClay/rust-audio-workbench already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 49a395aa2484c7893df8a8110c23981a04d9cd0ac3647db134abac8b9d11b5bf
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "49a395aa2484c7893df8a8110c23981a04d9cd0ac3647db134abac8b9d11b5bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "49a395aa2484c7893df8a8110c23981a04d9cd0ac3647db134abac8b9d11b5bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49a395aa2484c7893df8a8110c23981a04d9cd0ac3647db134abac8b9d11b5bf", kill_on_drop: false }`
[INFO] [stdout] 49a395aa2484c7893df8a8110c23981a04d9cd0ac3647db134abac8b9d11b5bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74d332ab6051fdf523a513151f82c8950b7e8f4934bf95dbbcc397e223af82f9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "74d332ab6051fdf523a513151f82c8950b7e8f4934bf95dbbcc397e223af82f9", kill_on_drop: false }`
[INFO] [stderr]     Checking raw v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioReader`, `AudioWriter`, `Clip`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use outline::{Clip, AudioReader, AudioWriter};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Concat`, `Reverse`, `Subclip`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use compounds::{Concat, Subclip, Reverse};
[INFO] [stdout]    |                 ^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^ help: use `dyn`: `dyn Clip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioReader`, `AudioWriter`, `Clip`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use outline::{Clip, AudioReader, AudioWriter};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Concat`, `Reverse`, `Subclip`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use compounds::{Concat, Subclip, Reverse};
[INFO] [stdout]    |                 ^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.61s
[INFO] running `Command { std: "docker" "inspect" "74d332ab6051fdf523a513151f82c8950b7e8f4934bf95dbbcc397e223af82f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74d332ab6051fdf523a513151f82c8950b7e8f4934bf95dbbcc397e223af82f9", kill_on_drop: false }`
[INFO] [stdout] 74d332ab6051fdf523a513151f82c8950b7e8f4934bf95dbbcc397e223af82f9
